/**
 * Copyright  (c) 2009-2010 Wilmar IT Service,  Inc.   
 * All  rights  reserved. 
 */
package com.wilmar.process.webservice.server.api;

import java.io.File;

import javax.jws.WebService;

import com.wilmar.process.entity.ProcessReleaseNotes;
import com.wilmar.process.exception.ObjectNotFoundException;

/**
 * @author makubex
 * @version 1.0.0
 */
@WebService
public interface ISystemProcessDefintionWebService {

	/**
	 * 部署一个流程定义
	 * 
	 * @param definitionPackage
	 *            流程定义文件所在的压缩包
	 * @param processReleaseNotes
	 *            流程发布说明
	 */
	public void deployProcessDefinitionByFile(File definitionPackage,
			ProcessReleaseNotes processReleaseNotes);

	/**
	 * 部署一个流程定义
	 * 
	 * @param definitionString
	 *            流程定义内容字符串
	 * @param processReleaseNotes
	 *            流程发布说明
	 */
	public void deployProcessDefinitionByString(String definitionString,
			ProcessReleaseNotes processReleaseNotes);

	/**
	 * 根据流程定义获取流程描述
	 * 
	 * @param processDefinitionId
	 *            流程定义编号
	 * @return 流程定义描述
	 * @throws ObjectNotFoundException
	 *             流程定义不存在
	 */
	public String getProcessDescriptionById(String processDefinitionId)
			throws ObjectNotFoundException;
}
